Network devices, such as network switches, may receive packet data on a number of ingress ports, process that packet data and then forward the processed packet data on to corresponding network destinations using a number of egress ports. During packet processing, a network device stores packet data using one or more packet memories, which may be shared by all of the ingress and egress ports of the network device. For example, in one arrangement, a network device may include an internal packet memory as well as being operationally coupled with an external packet memory.
In such implementations, received packet data may be stored in the internal packet memory during processing, buffered in the internal packet memory (such as in a packet buffer) and then written to external packet memory, or may use a combination of internal and external storage. For instance, packet data may be stored internally during normal traffic conditions while using the external packet memory to absorb transient bursts in data traffic. In other situations, the internal packet memory may be simply used to buffer all received packet before writing it out to external packet memory. Of course, a number of other approaches and techniques for storing packet data during processing using an internal packet memory and an external packet memory may be used.
In configurations where at least a portion of packet data being processed by a network device is stored in an external packet memory, implementation of an interface between the network device and the external memory with adequate bandwidth for read and write memory operations between a network device and an external packet memory may be cost prohibitive. For instance, high-speed serializer-deserializer (SERDES) circuits are commonly used to implement such interfaces. These high-speed SERDES circuits affect product cost as they typically use a significant amount of power and, when implemented in an integrated circuit, consume a substantial amount of circuit area. Because such interfaces are often used for handling temporary traffic bursts, which may occur infrequently, the cost of implementing an interface with sufficient bandwidth to handle such traffic bursts may not be cost-effective.